package com.td.lib.imagelibrary;

import ohos.agp.components.Image;
import ohos.media.image.PixelMap;
import ohos.media.image.common.Rect;
import ohos.media.image.common.Size;

/**
 * @description 加载图片的管理类接口
 * @since 2021/9/28 10:00
 */
public interface ImageDecoderInterface {
    /**
     * 添加图片缩放尺寸
     *
     * @param size 尺寸
     * @return ImageDecoder
     */
    ImageDecoder with(Size size);

    /**
     * 添加图片旋转角度
     *
     * @param rotateDegrees 图片旋转角度
     * @return ImageDecoder
     */
    ImageDecoder with(float rotateDegrees);

    /**
     * 添加图片 裁剪区域
     *
     * @param desiredRegion Rect
     * @return ImageDecoder
     */
    ImageDecoder with(Rect desiredRegion);

    /**
     * 加载到控件
     *
     * @param view Image
     */
    void into(Image view);

    /**
     * 用缩略图填充
     *
     * @param view Image
     */
    void intoByThumbnail(Image view);

    /**
     * 获取Pixelmap对象
     *
     * @return PixelMap
     */
    PixelMap getPixelMap();

    /**
     * 获取缩略图
     *
     * @return PixelMap
     */
    PixelMap getThumbnailPixelmap();

}
